package simpleExample.after;public abstract class EmployeeType {        public static EmployeeType newType(int _type) {                switch (_type) {                case MANAGER:                        return new Manager();                case ENGINEER:                        return new Engineer();                case SALESMAN:                        return new Salesman();                default:                        throw new IllegalArgumentException("Employee type does not exist");                }        }        private int _type;        public static final int MANAGER = 2;        public static final int SALESMAN = 1;        public static final int ENGINEER = 0;        public EmployeeType(int _type) {                this._type = _type;        }        public abstract int getTypeCode();        public abstract int payAmount(Employee employee);}